<!-- 可调整列宽的固定表头表格 -->
<template>
  <div class="table-demo">
    <h2>3. 添加表头固定功能,可调整列宽的固定表头表格</h2>
    <p class="description">使用 resizable 属性实现列宽调整功能</p>
    
    <div class="table-container">
      <Table
        :data="customers"
        :columns="columns"
        fixed-header
        fixed-header-height="300px"
        resizable
        border
        @update:columns="handleColumnsUpdate"
      />
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import Table from '@/components/Table/Table.vue'

const customers = ref([
  { id: 1, name: '张三', age: 28, city: '北京', level: '黄金' },
  { id: 2, name: '李四', age: 35, city: '上海', level: '白银' },
  { id: 3, name: '王五', age: 42, city: '广州', level: '铂金' },
  { id: 4, name: '赵六', age: 31, city: '深圳', level: '黄金' },
  { id: 5, name: '钱七', age: 29, city: '杭州', level: '白银' },
  { id: 6, name: '孙八', age: 45, city: '成都', level: '钻石' },
  { id: 7, name: '周九', age: 33, city: '武汉', level: '黄金' },
  { id: 8, name: '吴十', age: 38, city: '南京', level: '铂金' }
])

const columns = ref([
  { title: '姓名', dataIndex: 'name', width: '120px' },
  { title: '年龄', dataIndex: 'age', width: '80px' },
  { title: '城市', dataIndex: 'city', width: '120px' },
  { title: '会员等级', dataIndex: 'level', width: '120px' }
])

const handleColumnsUpdate = (newColumns) => {
  columns.value = newColumns
}
</script>

<style scoped>
.table-demo {
  padding: 20px;
}

.description {
  margin: 16px 0;
  color: #666;
}

.table-container {
  border: 1px solid #ebeef5;
  border-radius: 4px;
}
</style>
